An Ethernet virtual private network (EVPN) instance is a virtual network encompassing a set of customer edge devices (CEs) that are connected to provider edge devices (PEs), where the PEs are the edge of a provider network that utilizes a multi-protocol label switching (MPLS) infrastructure. The PEs provide virtual layer 2 bridged connectivity between CEs. In a given provider network there may be multiple EVPN instances. CEs may be hosts, routers, switches or similar devices. PEs may be routers or similar devices.
The infrastructure utilizes media access control (MAC) addresses for routing and multiprotocol border gateway protocol (BGP) over the MPLS/virtual extensible local area network (VxLAN) core for determining the topology of the network. PEs advertise the MAC addresses learned from the CEs that are connected to them, along with an MPLS label to other PEs in the control plane using BGP. Control-plane learning offers greater control over the MAC learning process, such as restricting which devices learn specific information and the ability to apply policies. This enables load balancing of traffic to and from CEs that are multi-homed to multiple PEs. It also improves convergence times in the event of certain network failures.
A CE that is a host or a router that is multi-homed directly to more than one PE in an EVPN instance on a given Ethernet segment may have one or more Ethernet tags configured on the Ethernet segment. However, only one of the PEs, referred to as a designated forwarder (DF), is responsible for sending broadcast, unknown unicast and multicast (BUM) traffic to this CE. An Ethernet segment is a collection of Ethernet links that connect a customer site to a provider network. A procedure for electing a DF is set forth in the Internet Engineering Task Force (IETF) request for comments (RFC) 7432, entitled “BGP MPLS-Based Ethernet VPN.”
In one embodiment, the process of electing the DF may occur when a PE discovers the Ethernet segment identifier (ESI) of the attached Ethernet segment. The PE advertises an Ethernet Segment route with the associated ES-Import extended community attribute. The PE then starts a timer (default value=3 seconds) to allow the reception of Ethernet Segment routes from other PEs connected to the same Ethernet segment. This timer value should be the same across all PEs connected to the same Ethernet segment. When the timer expires, each PE builds an ordered list of the IP addresses of all the PEs connected to the Ethernet segment (including itself), in increasing numeric value. Each IP address in this list is extracted from the “Originating Router's IP address” field of an advertised Ethernet Segment route. Every PE is then given an ordinal indicating its position in the ordered list, starting with 0 as the ordinal for the PE with the numerically lowest IP address. The ordinals are used to determine which PE will be the DF for a given EVPN instance on the Ethernet segment, using a rule. The rule assumes a redundancy group of N PEs, for VLAN-based service, where the PE with ordinal i is the DF for an <ES, VLAN V> when (V mod N)=i. In the case of VLAN-(aware) bundle service, then the numerically lowest VLAN value in that bundle on that ES MUST be used in the modulo function.
Using the “Originating Router's IP address” field in the ES route to get the PE IP address needed for the ordered lists allows for a CE to be multi-homed across different autonomous systems (ASes) if such a need ever arises. The PE that is elected as a DF for a given <ES, VLAN> or <ES, VLAN bundle> will unblock multi-destination traffic for that VLAN or VLAN bundle on the corresponding Ethernet Segment. The DF PE unblocks multi-destination traffic in the egress direction towards the segment. All non-DF PEs continue to drop multi-destination traffic in the egress direction towards that <ES, VLAN> or <ES, VLAN bundle>. In the case of link or port failure, the affected PE withdraws its Ethernet Segment route. This will re-trigger the service carving procedures on all the PEs in the redundancy group. For PE node failure or upon PE commissioning or decommissioning, the PEs re-trigger the service carving.